# 能否剪出m跟x米长的绳子
def check(N,M,lt,x):
    # print(lt)
    cnt=0 #最多剪出的段数
    for i in range(N):
        cnt+=lt[i]//x #只有长度小于剪除x的长度时 才可以获得++
        if cnt>=M : #当cnt的段数大于M时
            return True
    return False

N,M=map(int,input().split())
lt=list(map(int,input().split()))

left=0;
right=1e9;
while (right-left)>1e-4:
    mid=(left+right)/2
    if check(N,M,lt,mid):
        left=mid
    else:
        right=mid
print('%.2f'%right)

